<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ page import="java.util.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
		//可以一次性将所有省份和城市都取来做成map或list，然后放到属性中，这样，想取哪一个就取哪一个
		//另外，这里最关键的是在js里必须将选择的”省份“传来，否则无法维护本页面的状态
		
		//方案1：以下2句可以，但按注释换一下方式，不要每次都取，故先注释
		//String []provs={"安徽","河南"};//从服务端取，也可以保存成属性，然后判断有没有这个属性值，如果没有就向服务端要，其实应该从属性里取，不过不是pageContext	
		//pageContext.setAttribute("provs", provs);
		
		//方案2：先看有没有属性，如果已经有了，就不要再去请求服务端的数据了
		Object obj=pageContext.getAttribute("provs");
		if(obj==null){
			String []provs={"安徽","河南"};
			pageContext.setAttribute("provs", provs);
		}
		
		
		String prov=request.getParameter("prov");//js可以用
		if(prov==null){//||prov.equals("null")
			out.print("没有prov参数");
		}else{
			out.print("传来的省份是:"+prov);
			pageContext.setAttribute("prov", prov);
			if(prov.equals("安徽")){
				String []citys={"合肥","芜湖"};//根据prov的值，如安徽从服务端取出数据放入citys中。也应该放在属性中，当然，可以一次性将所有省份和城市都取来做成属性
				pageContext.setAttribute("citys", citys);
			}
			if(prov.equals("河南")){
				String []citys={"开封","洛阳"};
				pageContext.setAttribute("citys", citys);
			}			
		}
	
	
	%>
	<select id="provs" onchange="test3()">
		<option value="选择">请选择省份</option>
		<c:forEach var="temp1" items="${provs }">
			<option value="${temp1 }" <c:if test="${temp1==prov }">selected</c:if>   >${temp1 }</option>
		</c:forEach>
	</select>
	
	<select id="citys">
		<c:forEach var="temp1" items="${citys }">
			<option value="${temp1 }">${temp1 }</option>
		</c:forEach>
	</select>
	<br>问题，每次跳转后，都是安徽,应该将选择的省份传回本页面
	<br>解决办法，加一个”请选择省份“，结果每次跳转后都是”请选择省份了“,即省份还是没有传过去
	<br>解决办法，在option中加一个selected，然后使用判断<c:if test="${temp1==prov }">selected</c:if>
	<br>最重要的是，将要明确的数据必须传回去，如省份prov,才能在原页面上想办法恢复上一次的状态
	<script type="text/javascript">	

		function test3() {
			var prov=document.getElementById("provs").value;
			window.location.href = "testnoajax-jilian.jsp?prov="+prov;
		}
	
	</script>
</body>
</html>